perm filename BLOAT2.POX[POX,WD] blob
sn#363241 filedate 1978-06-18 generic text, type T, neo UTF8
\|\\; Define Brick Character
\M0FIX25;\; fixed font
\⊂'000040;\; VERREM - REM's syntax for macros with args definitions
\⊂'000400;\; VERRHT - modified way to pass args with nest chars
\8EVAL(STRING)[⊗STRING⊗]\;
\8LOADAC(VAR)[\!EVAL((\←=)\!⊗VAR⊗;(;));]\; load ac with var
\8REDEF(VAR)[\N redefine variable
\ ;\!EVAL((\∞)⊗VAR⊗([)\D∀(]));\N define var
\N\ ;\!EVAL((\∞)⊗VAR⊗([]));\N define var
\ ;\!EVAL((\∂←)⊗VAR⊗(;));\N expunge var def
]\; restore ac
\∞ITERREDEF[\N macro to iterate REDEF
\ ;\-=1;\N decrement count
\ ;\P\N
\ ;\!REDEF(VAR);\N
\N\ ;\∞VAR[0]\N define var
\N\ ;\∂←VAR;\N expunge old var def
\ ;\p]\;
\←=1000;\; iteration count
\IITERREDEF;\;
\; This file produces bloat in POX at the rate of twenty words
\;per iteration. The essence is the macro REDEF which takes a macro
\;name as argument, deletes the old definition, and redefines the
\;macro. Note that the indirection (macro taking macro name as arg)
\;is necessary. If line 15, the call to REDEF, is replaced by lines
\;16 and 17, redefinition of a particular macro, the bloat goes away.
\;Also, if line 8 is replaced by line 9, the bloat goes away.